package com.hoshiicloud.stock.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * 仓库单修改参数实体
 *
 * @author : yangcheng
 * @date : 2019/5/18 09:50
 * @mail : maiboyc@163.com
 **/
@ApiModel
@Data
public class WvoucherhUpdateParam {

    /**
     * ID
     */
    @NotNull(message = "ID不能为空")
    @ApiModelProperty(name = "id", value = "ID", dataType = "java.lang.Long", example = "3171776001692664001")
    private Long id;

    // 公司ID
    @NotNull(message = "公司ID不能为空")
    @ApiModelProperty(name = "companyid", value = "公司ID", required = true, dataType = "java.lang.Long", example = "3171776001692663893")
    private Long companyid;

    // 平台ID
    @ApiModelProperty(name = "platformid", value = "平台ID", required = true, dataType = "java.lang.Long", example = "3171776001692663894")
    private Long platformid;

    // 店铺ID
    @ApiModelProperty(name = "storeid", value = "店铺ID", required = true, dataType = "java.lang.Long", example = "3171776001692663895")
    private Long storeid;

    // 单据编号
    @NotNull(message = "单据编号不能为空")
    @ApiModelProperty(name = "billno", value = "单据编号", required = true, dataType = "java.lang.String", example = "B0001")
    private String billno;

    // 单据日期
    @NotNull(message = "单据日期不能为空")
    @ApiModelProperty(name = "billdate", value = "单据日期", required = true, dataType = "java.util.Date", example = "2019-05-04 10:10:30")
    private LocalDateTime billdate;

    // 仓库类别  1-租户 2-租合供应商 3-平台 4-平台供应商5-店铺 6-店铺供应商
    @NotNull(message = "仓库类别不能为空")
    @ApiModelProperty(name = "type", value = "仓库类别", required = true, dataType = "java.lang.Integer", example = "1")
    private Integer type;

    // 部门代码
    @ApiModelProperty(name = "deptcode", value = "部门代码", required = true, dataType = "java.lang.String", example = "SD")
    private String deptcode;

    // 单据类型
    @NotNull(message = "单据类型不能为空")
    @ApiModelProperty(name = "vouchertype", value = "单据类型", required = true, dataType = "java.lang.String", example = "SOI")
    private String vouchertype;

    // 发起仓库
    @ApiModelProperty(name = "whfcode", value = "发起仓库", required = true, dataType = "java.lang.Long", example = "3171776001692663896")
    private Long whfcode;

    // 接收仓库
    @ApiModelProperty(name = "whtcode", value = "接收仓库", required = true, dataType = "java.lang.Long", example = "3171776001692663897")
    private Long whtcode;

    // 供应商ID
    @ApiModelProperty(name = "vendorid", value = "供应商ID", required = true, dataType = "java.lang.Long", example = "3171776001692663898")
    private Long vendorid;

    // 地址
    @ApiModelProperty(name = "address", value = "地址", required = true, dataType = "java.lang.String", example = "福建省福州市马尾区3楼")
    private String address;

    // 客户代码
    @ApiModelProperty(name = "customer", value = "客户代码", required = true, dataType = "java.lang.String", example = "C0001")
    private String customer;

    // 来源单据号
    @ApiModelProperty(name = "sourcebill", value = "来源单据号", required = true, dataType = "java.lang.String", example = "B0001")
    private String sourcebill;

    // 来源备注
    @ApiModelProperty(name = "sourcememo", value = "来源备注", required = true, dataType = "java.lang.String", example = "来源备注")
    private String sourcememo;

    // 状态 0-未过账 1-已过账
    @NotNull(message = "状态不能为空")
    @ApiModelProperty(name = "status", value = "状态", required = true, dataType = "java.lang.Integer", example = "1")
    private Integer status;

    // 审批人
    @ApiModelProperty(name = "appovedby", value = "审批人", required = true, dataType = "java.lang.String", example = "admin")
    private String appovedby;

    // 审批时间
    @ApiModelProperty(name = "appoveddate", value = "审批时间", required = true, dataType = "java.util.Date", example = "2019-05-10 10:10:20")
    private LocalDateTime appoveddate;

    // 备注
    @ApiModelProperty(name = "remark", value = "备注", dataType = "java.util.Date", example = "备注信息")
    private String remark;

}  